package org.charts.objects;

// *************************************************************************/
// Charada Soft
// Area de Desarrollo de Sistemas de Información
// *************************************************************************/
// Proyecto : java creator charts
// Archivo : FunctionXY.java
// Descripcion : Clase FunctionXY
// *************************************************************************/
// Version : 1.0.5
// Fecha de Creación: 14 de Diciembre de 2014
// Author : Daniel Andres Castillo Pedroza
// *************************************************************************/

import java.util.ArrayList;
import org.jfree.data.xy.XYSeries;

public class FunctionXY {
    
    // Atributos de la clase FunctionXY
    
    private final XYSeries function;
    
    // Constructor de la clase FunctionXY

    public FunctionXY(String nameFunction) {
        this.function = new XYSeries(nameFunction);
    }
    
    // Metodos de la clase FunctionXY
    
    /**
     * 
     * @param point 
     */
    public void addPoint(PointXY point) {
        function.add(point.getX(),point.getY());
    }
    
    /**
     * 
     * @param points 
     */
    public void addPoints(ArrayList <PointXY> points) {
        for (PointXY point : points) {
            addPoint(point);
        }
    }

    /**
     * 
     * @return 
     */
    public XYSeries getFunction() {
        return function;
    }
    
    /**
     * 
     * @param nameFunction
     * @param points
     * @return 
     */
    public static FunctionXY createFunction(String nameFunction, ArrayList <PointXY> points) {
        FunctionXY functionXY = new FunctionXY(nameFunction);
        functionXY.addPoints(points); return functionXY;
    }
}